home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / DClap / DObject.h < prev    next >
Text File  |  1996-07-05  |  940b  |  32 lines

  1. // DObject.h
  2. // d.g.gilbert
  3.  
  4. #ifndef _DOBJECT_
  5. #define  _DOBJECT_
  6.  
  7. #include "Dvibrant.h"
  8.  
  9. class DObject {
  10.     ulong      fClassSize;
  11.     short        fOwners;
  12.     char    * fClassName;
  13. protected:
  14.     DObject *    BasicClone( void);
  15.     void      setClassSize( ulong classSize)  {  fClassSize = classSize; }
  16.     void        SetClassName( char    *className)  { fClassName= className; }
  17.     void        SetClass( char    *className, ulong classSize)  { fClassName= className; fClassSize = classSize; }
  18. public:                                        
  19.     DObject();
  20.     void*        operator new(size_t objSize); 
  21.     void         operator delete(void* objStorage);
  22.     virtual    Boolean suicide(void);  // prefered to delete 
  23.     virtual    Boolean suicide(short ownercount);
  24.     virtual    void newOwner(void) { fOwners++; }    // allow multiple owners/deleters of an object
  25.     ulong      GetClassSize(void)  { return fClassSize; }
  26.     short        GetOwnerCount(void) { return fOwners; }
  27.     char*        GetClassName(void)  { return fClassName; }
  28.     virtual DObject    * Clone(void);
  29. };
  30.  
  31. #endif
  32.